A compact, realistic example showing a YANG module and matching instance data.
module media-plant {
yang-version 1.1;
namespace "urn:example:media-plant";
prefix mp;
organization "Example";
contact "ops@example.com";
description
"Tiny model for demo: device facts, PTP, QoS, multicast.";
revision "2025-10-17" {
description "Initial.";
}
typedef dscp {
type uint8 {
range "0..63";
}
description "DSCP value 0..63";
}
container device {
description "Basic device data";
leaf hostname { type string; }
leaf os-version { type string; }
leaf model { type string; }
leaf uptime-seconds { type uint32; }
}
container ptp {
description "PTP status per ST 2059 profile (summary)";
leaf domain { type uint8; }
leaf state { type enumeration {
enum master; enum slave; enum passive; enum disabled;
}}
leaf grandmaster-id { type string; description "ClockIdentity"; }
leaf steps-removed { type uint8; }
leaf offset-from-master-ns { type int64; description "nanoseconds"; }
leaf mean-path-delay-ns { type int64; description "nanoseconds"; }
}
container qos {
description "Simple DSCP-to-queue view";
list class {
key "name";
leaf name { type string; }
leaf dscp { type dscp; }
leaf queue { type uint8; description "Hardware queue index"; }
leaf strict-priority { type boolean; default "false"; }
}
}
container multicast {
description "Multicast control-plane/receiver view";
list igmp-interface {
key "name";
leaf name { type string; }
leaf version { type uint8; description "IGMP version (2/3)"; }
list join {
key "group";
leaf group { type string; description "IPv4 G (e.g., 232.1.2.3)"; }
leaf source { type string; description "S for (S,G), empty for ASM"; }
leaf rx-rate-mbps { type decimal64 { fraction-digits 2; } }
}
}
}
}
{
"media-plant:device": {
"hostname": "leaf-11",
"os-version": "EOS-4.31.2F",
"model": "DCS-7050X3",
"uptime-seconds": 86425
},
"media-plant:ptp": {
"domain": 127,
"state": "slave",
"grandmaster-id": "84:2f:12:ff:fe:aa:bb:cc",
"steps-removed": 1,
"offset-from-master-ns": 85,
"mean-path-delay-ns": 120
},
"media-plant:qos": {
"class": [
{ "name": "ptp", "dscp": 48, "queue": 7, "strict-priority": true },
{ "name": "video", "dscp": 40, "queue": 5, "strict-priority": false },
{ "name": "audio", "dscp": 34, "queue": 4, "strict-priority": false },
{ "name": "control", "dscp": 24, "queue": 3, "strict-priority": false },
{ "name": "best", "dscp": 0, "queue": 0, "strict-priority": false }
]
},
"media-plant:multicast": {
"igmp-interface": [
{
"name": "Vlan2110-red",
"version": 3,
"join": [
{ "group": "232.1.2.10", "source": "10.110.0.10", "rx-rate-mbps": 2830.50 },
{ "group": "232.1.2.11", "source": "10.110.0.11", "rx-rate-mbps": 125.00 }
]
},
{
"name": "Vlan2110-blue",
"version": 3,
"join": [
{ "group": "232.1.2.10", "source": "10.120.0.10", "rx-rate-mbps": 2830.45 }
]
}
]
}
}
<rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<data>
<device xmlns="urn:example:media-plant">
<hostname>leaf-11</hostname>
<os-version>EOS-4.31.2F</os-version>
<model>DCS-7050X3</model>
<uptime-seconds>86425</uptime-seconds>
</device>
<ptp xmlns="urn:example:media-plant">
<domain>127</domain>
<state>slave</state>
<grandmaster-id>84:2f:12:ff:fe:aa:bb:cc</grandmaster-id>
<steps-removed>1</steps-removed>
<offset-from-master-ns>85</offset-from-master-ns>
<mean-path-delay-ns>120</mean-path-delay-ns>
</ptp>
<qos xmlns="urn:example:media-plant">
<class>
<name>ptp</name><dscp>48</dscp><queue>7</queue><strict-priority>true</strict-priority>
</class>
<class>
<name>video</name><dscp>40</dscp><queue>5</queue><strict-priority>false</strict-priority>
</class>
</qos>
<multicast xmlns="urn:example:media-plant">
<igmp-interface>
<name>Vlan2110-red</name><version>3</version>
<join><group>232.1.2.10</group><source>10.110.0.10</source><rx-rate-mbps>2830.50</rx-rate-mbps></join>
</igmp-interface>
</multicast>
</data>
</rpc-reply>
GET https://switch/restconf/data/media-plant:ptp
Accept: application/yang-data+json